<?php
//连接
$link=array( 
	'dbms'=>'mysql',
	'localhost'=>'localhost',
	'dbname'=>'wt',
	'username'=>'user',
	'pwd'=>'bsAze0S7Jc1R6Pegpx6',
    );
    
$dsn=$link['dbms'].":host=".$link['localhost'].";dbname=".$link['dbname'];
$dbh = new PDO($dsn, $link['username'], $link['pwd']); //初始化一个PDO对象
//$db = new PDO($dsn, 'username', 'pwd', array(PDO::ATTR_PERSISTENT => true)); //变成长链接
$count = $dbh->exec("INSERT INTO jty (domain,jty) VALUES ('test.com','test')");
echo $count;
//进行影响数据库行数对的语句使用PDO::exec() 方法会返回一个影响记录的结果
$count = $dbh->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
echo $count;
//查询功能
    //--query
    $rs = $db->query("SELECT * FROM foo");
    $result_arr = $rs->fetchAll();
    print_r($result_arr);
    //--prepare
    $rs = $db->prepare("SELECT * FROM foo");
    $rs->execute();
    $result_arr = $rs->fetchAll();
    //--查询单个字段
    $rs = $db->query("SELECT COUNT(*) FROM foo");
    $col = $rs->fetchColumn();
    echo $col;

    //查询错误
    $count = $dbh->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
    if($count){

    }
    else{
        $error_message=$dbh->errorInfo();
        $logfile=fopen("../log/log.log","a+");
        fwrite($logfile,$error_message[2]."----".date("y-m-d H:i:s",time())."\r\n");
        fclose($logfile);
        $respond_img="../images/false.png";
        $respond_word="请求超时，请您稍后重新提交！";
      }
//查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。PDO::query()主要是用于有记录结果返回的操作，特别是SELECT操作，PDO::exec()主要是针对没有结果集合返回的操作，比如INSERT、UPDATE、DELETE等操作，它返回的结果是当前操作影响的列数。PDO::prepare()主要是预处理操作，需要通过$rs->execute()来执行预处理里面的SQL语句，这个方法可以绑定参数，功能比较强大，不是本文能够简单说明白的，大家可以参考手册和其他文档。

//获取结果集操作主要是：PDOStatement::fetchColumn()、PDOStatement::fetch()、PDOStatement::fetchALL()。PDOStatement::fetchColumn() 是获取结果指定第一条记录的某个字段，缺省是第一个字段。PDOStatement::fetch() 是用来获取一条记录，PDOStatement::fetchAll()是获取所有记录集到一个中，获取结果可以通过PDOStatement::setFetchMode来设置需要结果集合的类型。

//另外有两个周边的操作，一个是PDO::lastInsertId()和PDOStatement::rowCount()。PDO::lastInsertId()是返回上次插入操作，主键列类型是自增的最后的自增ID。PDOStatement::rowCount()主要是用于PDO::query()和PDO::prepare()进行DELETE、INSERT、UPDATE操作影响的结果集，对PDO::exec()方法和SELECT操作无效
//来自https://www.cnblogs.com/xiaochaohuashengmi/archive/2010/08/12/1797753.html